// -*-C++-*-
/*!
 * @file  LocationInfoSVC_impl.h
 * @brief Service implementation header of LocationInfo.idl
 *
 */

#include "LocationInfoSkel.h"

#ifndef LOCATIONINFOSVC_IMPL_H
#define LOCATIONINFOSVC_IMPL_H
 
#include "structure.h"

/*
 * Example class implementing IDL interface LocationInfo
 */
class LocationInfoSVC_impl
 : public virtual POA_LocationInfo,
   public virtual PortableServer::RefCountServantBase
{
 private:
   // Make sure all instances are built on the heap by making the
   // destructor non-public
   //virtual ~LocationInfoSVC_impl();
   Mcl *mcl;
   Point *pose_mean;
   Point *pose_std;

 public:
   // standard constructor
   LocationInfoSVC_impl(Mcl *mcl_p, Point *pose_mean_p, Point *pose_std_p);
   virtual ~LocationInfoSVC_impl();

   // attributes and operations
   CORBA::Boolean setLocation(CORBA::Double x, CORBA::Double y, CORBA::Double theta);
   CORBA::Boolean getLocation(CORBA::Double& x, CORBA::Double& y, CORBA::Double& theta);

};



#endif // LOCATIONINFOSVC_IMPL_H


